Personal search result identifying a physical location previously interacted with by a user

ABSTRACT

Methods and apparatus for generating, in response to a search query of a user, a personal search result that identifies a physical location previously interacted with by the user, such as a physical location previously visited by the user. Some implementations are directed to methods and apparatus for determining whether a search query is a personal locational query indicating a desire for information related to one or more physical locations previously interacted with by the user. Some implementations are directed to methods and apparatus for determining search parameters for such a personal locational query. Some implementations are directed to methods and apparatus for searching private content of the user to determine physical locations previously interacted with by the user that are responsive to such a personal locational query. Some implementations are directed to methods and apparatus for generating personal search results that identify determined physical locations previously interacted with by the user.

BACKGROUND

This specification is directed generally to providing search resultsand, more particularly, to generating at least one personal searchresult in response to a search query of a user, wherein the personalsearch result identifies a physical location previously interacted withby the user that is responsive to the search query.

Internet search engines often provide information about public documentssuch as web pages, images, text documents, and/or multimedia content.Generally, public documents may include information without accessrestrictions (e.g., a limiting condition on who can view and/or accessthe information). A search engine may identify the documents in responseto a user's search query that includes one or more search terms and/orphrases. The search engine ranks the documents based on the relevance ofthe documents to the search query and the importance of the documentsand provides search results that link to the identified documents. Thesearch results may be presented to the user in an order that is based onthe rank of the search results.

SUMMARY

The present disclosure is directed to methods and apparatus related togenerating, in response to a search query of a user, a personal searchresult that identifies a physical location previously interacted with bythe user, such as a physical location previously visited by the user.For example, some implementations are directed to methods and apparatusfor determining whether a search query is a personal locational queryindicating a desire for information related to one or more physicallocations previously interacted with by the user. Also, for example,some implementations are directed to methods and apparatus fordetermining search parameters for such a personal locational query.Also, for example, some implementations are directed to methods andapparatus for searching private content of the user to determinephysical locations previously interacted with by the user that areresponsive to such a personal locational query. Also, for example, someimplementations are directed to methods and apparatus for generatingpersonal search results that identify determined physical locationspreviously interacted with by the user. Such personal search results maybe provided to the user in response to a personal locational query ofthe user.

In some implementations a computer implemented method may be providedthat includes the steps of: receiving a search query of a user;determining that the search query is a personal locational queryindicating a desire for information related to one or more physicallocations previously interacted with by the user; determining, based onthe search query, at least one search parameter for identifying the oneor more physical locations previously interacted with by the user;receiving user information of the user; accessing, based on the userinformation, private content that is accessible to the user andnon-accessible to a plurality of additional users that lackauthorization to access the private content; determining responsivecontent of the private content, the responsive content being responsiveto the at least one search parameter; determining, based on theresponsive content, a physical location previously interacted with bythe user; and generating a personal search result based on theresponsive content, the personal search result identifying the physicallocation previously interacted with by the user.

This method and other implementations of technology disclosed herein mayeach optionally include one or more of the following features.

Generating the personal search result based on the responsive contentmay include determining additional content related to the responsivecontent from at least one resource that is additional to the privatecontent; and including the additional content in the personal searchresult. The additional content may be determined based on a mappingbetween the responsive content and the additional content. Theresponsive content may be a first property of an entity and theadditional content may be at least a second property of the entity. Theadditional content may include one or more of a picture of the entity, asearch query that will retrieve search results particularly focused onthe entity, and contact information for the entity.

Generating the at least one personal search result based on theresponsive content may include determining, based on the responsivecontent, one or more relationships between the user and the physicallocation; and providing, in the search result, an indication of the oneor more relationships between the user and the physical location. Theone or more relationships may each indicate at least one action type ofthe responsive content utilized to determine the physical location waspreviously interacted with by the user. The action type may include atleast one of a check-in, a review, and a location data based interactionindication.

The step of determining the query is a personal locational search querymay be based on matching at least one personal locational query term toone or more terms of the search query.

The step of determining that the query is a personal locational searchquery may be based on determining presence of one or more personallocational semantic segments in the search query, each of the personallocational semantic segments based on one or more terms of the searchquery. The personal locational semantic segments may include at leastone of a location entity category segment, an action type segment, areference geographic area segment, a temporal segment, and a businesslocation identifier segment.

The step of determining the query is a personal locational search querymay be based on matching a syntactical arrangement of one or more termsof the search query to one or more personal locational query syntacticalarrangements.

The method may further include providing the personal search result fordisplay to the user.

The method may further include obtaining public search results based onthe query; and providing the public search results for display with thepersonal search result. The method may further include formatting thepersonal search result and the public search results to visuallyseparate the personal search result from the public search results.Formatting the personal search result and the public search results tovisually separate the personal search result from the public searchresults may include providing a search results webpage wherein thepersonal search result is presented in a more prominent positionallocation than the public search results.

The method may further include determining that the search queryindicates a desire for information related only to previous visits ofthe user to the one or more physical locations; and the at least onesearch parameter for identifying the one or more physical locationspreviously interacted with by the user may be a search parameter forreturning information related only to previous visits of the user to theone or more physical locations.

In some implementations a computer implemented method may be providedthat includes the steps of: receiving a search query of a user, thesearch query including a plurality of terms; determining that one ormore of the terms of the search query define a first locational semanticsegment, the first locational semantic segment being an action typeindicating one or more actions associated with one or more previousinteractions of the user with one or more physical locations;determining that one or more of the terms of the search query define asecond locational semantic segment, the second locational semanticsegment being one of a reference geographic area and a location entitycategory; wherein the reference geographic area indicates a geographicarea associated with the previous interactions of the user; and whereinthe location entity category indicates one or more categories of thephysical locations of the previous interactions; determining one or morefirst search parameters based on the first locational semantic segment;determining one or more second search parameters based on the secondlocational semantic segment; accessing private content of the user;determining responsive content of the private content, the responsivecontent indexed with the first search parameters and the second searchparameters; determining, based on the responsive content, a physicallocation previously interacted with by the user; and generating apersonal search result based on the responsive content, the personalsearch result identifying the physical location previously interactedwith by the user.

This method and other implementations of technology disclosed herein mayeach optionally include one or more of the following features

The method may further include determining the search query is apersonal locational query; wherein determining the search query is apersonal locational query is based at least in part on determining thatthe terms of the query define the first locational semantic segment andthe second locational semantic segment; and wherein the generating thepersonal search result occurs only when the search query is determinedto be a personal locational query.

The action type of the first locational semantic segment may be a classof action types and determining the at least one first search parametermay include determining a plurality of members of the class of actiontypes and including one or more of the members in the first searchparameters. The class of action types may be visits and the members mayinclude one or more of a check-in, a review, a location data basedinteraction indication, a user's social network content, a userinteraction with an application, a user's directional query, an e-mailof the user, a search, and a mapped based indication of interest.Generating the personal search result based on the responsive contentmay include determining, based on the responsive content, a singlemember of the members of the class of action types; and providing, inthe search result, an indication of the single member.

The second locational segment may be the reference geographic area.Determining the at least one second search parameter may includedetermining additional geographic areas contained by the referencegeographic area and including the additional geographic areas in the atleast one second search parameter. Determining the at least one secondsearch parameter may include determining at least one additionalgeographic area near the reference geographic area and including theadditional geographic area in the at least one second search parameter.

Generating at least one personal search result based on the responsivecontent may include determining additional content related to theresponsive physical location from at least one resource that isadditional to the private content; and including the additional contentin the personal search result. The additional information may bedetermined based on a mapping between the responsive content and theadditional content.

Other implementations may include a non-transitory computer readablestorage medium storing instructions executable by a processor to performa method such as one or more of the methods described above. Yet anotherimplementation may include a system including memory and one or moreprocessors operable to execute instructions, stored in the memory, toperform a method such as one or more of the methods described above.

Particular implementations of the subject matter described hereinanalyze one or more aspects of a search query to determine if the searchquery is a personal locational query and/or to determine one or moresearch parameters. These determinations represent new aspects of asubmitted search query that may be derived from the submitted searchquery and optionally one or more additional sources. Particularimplementations of the subject matter described herein access privatecontent of the user to determine a physical location previouslyinteracted with by the user based on the private content responsive tosuch a personal locational query and generate a personal search resultthat identifies the determined physical location. These personal searchresults represent new aspects of a submitted search query that may bederived from the submitted search query, the private content responsiveto the search query, and optionally one or more additional sources. Thepersonal search results may be utilized by one or more applications,such as a search system, to provide improved search results to users ofthe applications. Particular implementations of the subject matterdescribed herein enable a user to search both private content and publiccontent (e.g., the World Wide Web) through a single user interface. Suchcombined searching of both private and public content may increaseefficiency for the user and/or for the search system in searching forboth private content and public content.

It should be appreciated that all combinations of the foregoing conceptsand additional concepts discussed in greater detail herein arecontemplated as being part of the inventive subject matter disclosedherein. For example, all combinations of claimed subject matterappearing at the end of this disclosure are contemplated as being partof the inventive subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example environment in which a personal searchresult may be generated in response to a search query of a user.

FIG. 2 is a flow chart illustrating an example method of generating apersonal search result in response to a search query of a user.

FIG. 3 is a flow chart illustrating an example method of determininglocational semantic segments of a search query of a user and determiningsearch parameters based on the locational semantic segments.

FIG. 4 is an example search query and example determined locationalsemantic segments for the search query.

FIG. 5 is a flow chart illustrating an example method of determiningadditional content related to a physical location interacted with by auser and generating a personal search result that includes theadditional content.

FIG. 6 is a flow chart illustrating an example method of indexingprivate content.

FIG. 7 illustrates an example graphical user interface for displayingpersonal search results in response to an example personal locationalquery.

FIG. 8 illustrates another example graphical user interface fordisplaying personal search results in response to another examplepersonal locational query.

FIG. 9 illustrates an example graphical user interface for displayingpersonal search results and public search results in response to anexample personal locational query.

FIG. 10 illustrates an example architecture of a computer system.

DETAILED DESCRIPTION

The present disclosure is directed to methods and apparatus related togenerating, in response to a search query of a user, a personal searchresult that identifies a physical location previously interacted with bythe user. In some implementations, a previous interaction of a user witha physical location is a user visit to the physical location asindicated by one or more items of content, such as one or more items ofprivate content described herein. In some implementations a previousinteraction of a user with a physical location is one or more useractions that indicate interest in the physical location, but do notnecessarily indicate a visit to the physical location as indicated byone or more items of content, such as one or more items of privatecontent described herein. As an example, a user interface may beprovided to the user to enable the user to submit a search query tosearch private content and, optionally, public content. When a searchquery is received via the user interface, it may optionally bedetermined whether the search query is a personal locational queryindicating a desire for information related to one or more physicallocations previously interacted with by the user. For example, thesearch query “restaurants I've visited in Atlanta” may indicate a desirefor information related to restaurants that a user submitting the searchquery has previously visited in Atlanta. On the other hand, the searchquery “movie stars” may not indicate a desire for information related toone or more physical locations visited by the user.

One or more search parameters may be determined for a received personallocational query and private content of the user may be searched todetermine physical locations previously interacted with by the user thatare responsive to the personal locational query. For example, for thesearch query “restaurants I've visited in Atlanta”, search parametersmay include and/or be based on one or more terms of the search query andmay be utilized to search private content of the user to determinerestaurants in Atlanta that were previously visited by the user. Apersonal search result may be generated that identifies the determinedrestaurants in Atlanta previously visited by the user and such personalsearch results may be provided to the user. In some implementationspublic content may also be searched to identify public content that isresponsive to the search query. Search results related to identifiedpublic content may also be generated and provided in combination withthe personal search results.

FIG. 1 is a diagram of an example environment in which a personal searchresult may be generated in response to a search query of a user. Theexample environment includes a client device 100, a search system 130, apublic content index 140 including an index of public content 145, aprivate content index 150 including an index of private content 155, andan entity database 160. One or more communication networks may beutilized to facilitate communication between the various components ofthe environment. In some implementations, the communication networks mayinclude the Internet, one or more intranets, and/or one or more bussubsystems. The communication networks may optionally utilize one ormore standard communications technologies, protocols, and/orinter-process communication techniques.

The example search system 130 provides search results 108 to the clientdevice 100 that are relevant to a search query 102 submitted via theclient device 100. In some other implementations a first client device(e.g., a first computing device of a user) may submit the search query102 and search results 108 may be provided to a second client device(e.g., a second computing device of the user). As discussed herein, thesearch results 108 may include at least one personal search result thatidentifies a particular physical location previously interacted with bythe user. In some implementations the search results 108 may includeonly personal search results. For example, the search query 102 may besubmitted via an interface that is a personal search interface and thatembeds information in search query 102 that indicates the search queryis requesting only personal search results. Also, for example, thesearch query 102 may be determined to be a search query that indicatesthe search query is requesting only personal search results. Also, forexample, public search results may fail to satisfy a ranking thresholdand only personal search results may be provided. The ranking thresholdof the public search results may be a set threshold and/or a thresholdbased on a ranking of the personal search results. In someimplementations the search results 108 may include both personal searchresults and public search results.

The search system 130 can be implemented in one or more computers thatcommunicate, for example, through a communication network. The searchsystem 130 is an example of an information retrieval system in which oneor more aspects of systems, components, and techniques described hereinmay be implemented. Each search query 102 is a request for information.The search query 102 can be, for example, in a text form and/or in otherforms such as, for example, audio form (e.g., spoken input of a user),and/or image form (e.g., based on an image captured via the clientdevice 100). Other computing devices may submit search queries to thesearch system 130 such as other client devices and/or a serverimplementing a service for a website that has partnered with theprovider of the search system 130. For brevity, however, the examplesare described in the context of the client device 100.

A user may interact with the search system 130 via the client device100. The client device 100 may be a computer coupled to the searchsystem 102 through a communications network such as a local area network(LAN) or wide area network (WAN) such as the Internet. Example clientdevices 100 include a desktop computer, a laptop computer, a cellularphone, a smartphone, a personal digital assistant (PDA), a wearablecomputing device (e.g., digital watch, earpiece, glasses), a tabletcomputer, a navigation system, and/or another computing device that cansend and receive data over a network. The client device 100 typicallyincludes one or more user applications to facilitate the sending andreceiving of data over a network. The client device 100 and the searchsystem 130 each include memory for storage of data and softwareapplications, a processor for accessing data and executing applications,and components that facilitate communication over a network. Theoperations performed by the client device 100 and/or the search system130 may be distributed across multiple computer systems.

The search system 130 includes an indexing engine 132, a queryprocessing engine 134, a ranking engine 136, and a presentation engine138. In some implementations one or more of engines 132, 134, 136,and/or 138 may be omitted. In some implementations all or aspects of oneor more of engines 132, 134, 136, and/or 138 may be combined. In someimplementations one or more of engines 132, 134, 136, and/or 138 may beimplemented in a component that is separate from the search system 130.

The indexing engine 132 maintains the private content index 150 and thepublic content index 140 for use by the search system 130. In theexample of FIG. 1, the indexing engine 132 processes public content 145and updates index items in the public content index 140, using, forexample, conventional and/or other indexing techniques. For example, theindexing engine generates public content index 140 by crawling the WorldWide Web and indexing publicly accessible documents as is commonly knownin the art. A document is any data that is associated with a documentaddress. Documents include HTML pages, word processing documents,portable document format (PDF) documents, images, video, and feedsources, to name just a few. The documents may include content such as,for example: words, phrases, pictures, etc.; embedded information (suchas meta information and/or hyperlinks); and/or embedded instructions(such as JavaScript scripts). In some implementations the public contentindex 140 may be omitted.

The indexing engine 132 also maintains private content index 150 thatindexes private content 155. Private content index 150 enables searchingof private content 155 to determine whether an item of private content155 is relevant to the search query 102 without necessitating searchingthe entirety of private content 155. In some implementations privatecontent index 150 may be omitted and private content 155 may be searcheddirectly. In some implementations the private content index 150 isspecific to a particular user and the private content 155 is privatecontent that is accessible to the user and non-accessible to a pluralityof additional users that differ from the user. For example, the privatecontent 155 may be accessible only to the user and non-accessible by anyother users. Also, for example, the private content 155 may beaccessible to the user and certain additional users designated by theuser. As described herein, the private content index 150 and the privatecontent 155 may be associated with access information to allow accessonly to users who are authorized to access such content and preventaccess to all other users.

In some implementations, the private content index 150 includes an indexof private items of a plurality of users, with each index item and/or agroup of index items associated with access information to allow accessonly to users who are authorized to access such index items and preventaccess to all other users. Thus, the private content index 150 mayinclude index items for a plurality of users, but each index item and/ora group of index items may include access information to prevent accessby any users not authorized to access such index items. Similarly,private content 155 may include a collection of private items of aplurality of users, with each item and/or a group of items associatedwith information to allow access only to users who are authorized toaccess such items and prevent access to all other users. Thus, theprivate content 155 may include items of a plurality of users, but eachitem and/or a group of items may include access information to preventaccess by any users not authorized to access such items.

Using private content 155, indexing engine 132 generates index items andstores the index items in private content index 150. Generally, an indexitem includes information that indexes one or more items of privatecontent 155. For example, an index item for a given item of privatecontent 155 may include portions of the given item that the indexingengine 132 has determined are relevant for identifying and/or forsearching contents of the given item, information describing contents ofthe given item, keywords for the given item, and/or a unique identifierfor the given item. An index item may also include informationspecifying a document location of the given item including, for example,a uniform resource location (URL) or other document location identifier.In some implementations determined information for a given item may bedetermined by parsing contents of the given item.

As discussed, in some implementations, index items in the privatecontent index 150 and/or items of the private content 155 may each beassociated with access information to allow access only to users who areauthorized to access such content and prevent access to all other users.Any generated index item may include and/or be associated with an accesscontrol list with access information that generally specifies identitiesof one or more users that are authorized to access the generated indexitem. For example, indexing engine 132 may determine one or more usersthat are authorized to access an item of private content 155 and includean access control list with an index entry based on such item of privatecontent 155 that lists those authorized users. In such an example, theitem of private content 155 may include access information thatspecifies the identity of users that are authorized to access the itemof private content 155. For example, the item of private content 155 maybe a location data indicated interaction of a user with a particularphysical location and the location data indicated interaction mayinclude information that specifies that only that user is authorized toaccess that item of private content.

As described herein, in some implementations user information 103 isprovided with the search query 102 (e.g., appended to the search query102 and/or provided with, but separate from, separate from the searchquery 102). The user information 103 may be utilized to determine whichindex items in the private content index 150 the user submitting thesearch query 102 may access. For example, only those index items in theprivate content index 150 that are associated with access informationthat is determined to match the user information 103 may be accessed.Additional and/or alternative techniques for restricting access to indexitems in the private content index 150 and/or items of the privatecontent 155 may be utilized.

In some implementations, hash functions are utilized to encrypt indexitems in the private content index 150 and/or items of private content155 to promote secure storage. In some implementations an entry in theprivate content index 150 may be associated with a wrapped key topromote secure storage. Generally, a wrapped key includes an encryptedkey. To unwrap (e.g., decrypt) the wrapped key, the search system 130sends the wrapped key to another security system. The security systemsends the unwrapped key to the search system 130 to enable the searchsystem 130 to decrypt the entry. Additional and/or alternativetechniques for promoting secure storage of index items in the privatecontent index 150 and/or items of the private content 155 may beutilized.

Private content 155 of an individual user may include items from one ormore sources of the user such as, for example, the user's e-mails (sentand/or received), the user's social network content, the user'scalendar, the user's transaction history, the user's interactions withan application such as a mapping application, location data of the user,and so forth. Private content 155 may include items that are indicativeof a user's interactions with one or more physical locations. As usedherein, a physical location references an entity that is associated withone or more geographic locations. A physical location may be referencedwith any level of granularity. For example, a physical location may be ashopping mall, a particular store in the shopping mall, and/or aparticular department in a store in the shopping mall.

In situations in which the systems discussed herein collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures collect information personal to the user (e.g., informationabout a user's social network, email, social actions or activities,browsing history, a user's preferences, or a user's current geographiclocation), or to control whether and/or how to receive content from thecontent server that may be more relevant to the user. Also, certain datamay be treated in one or more ways before it is stored or used, so thatpersonally identifiable information may be removed. For example, auser's identity may be treated so that personally identifiableinformation may not be determined for the user, or a user's geographiclocation may be generalized where geographic location information may beobtained (such as to a city, ZIP code, or state level), so that aparticular geographic location of a user may not be determined. Thus,the user may have control over how information is collected about theuser and/or used.

One or more items of private content 155 may indicate that a user hasinteracted with a given physical location and may optionally includeinformation specifically related to the user's interaction with thegiven physical location. For example, information related to the user'sinteraction with the given physical location may include one or moreaction types indicative of the one or more actions of the user thatassociated the previous interaction with the physical location with theuser. Action types include, for example, a check-in to the givenlocation by the user, a review of the given location by the user, a pastreservation of the user to the given location, location data of the userindicating an interaction with the given location, and so forth. Also,for example, information related to the interaction with the givenphysical location may include a date and/or a time associated with theuser's interaction with the given physical location. For example,information related to the visit to the given physical location mayinclude a date and/or a time associated with the user's visit to thegiven physical location. Also, for example, information related to theuser's interaction with the given physical location may includeinformation related to the purpose of an actual or intended visit to thegiven physical location. For example, multiple activities may be capableof being engaged in at a given physical location and information relatedto the visit may identify one or more of the multiple activities thatthe user actually engaged in during an actual visit or plans to engagein during an intended visit. For example, multiple activities may becapable of being engaged in at a park such as walking, running, frisbeegolf, etc. and information related to a visit may identify one or moreof the multiple activities that the user actually engaged in during thevisit. Also, for example, multiple types of shows may be presented at avenue such as concerts, plays, comedic performances, etc. andinformation related to a visit may identify one of the multiple types ofshows performed during an actual visit of the user, or to be performedduring an intended visit of the user.

One or more items of private content 155 may further optionally includeinformation related to the given physical location that is not specificto the user's interaction with the given physical location. For example,information related to the given physical location may includeinformation related to a geographic area associated with given physicallocation such as, for example, a city, a region, a neighborhood, astate, a zip code, a coordinate (e.g., latitude/longitude pair), and soforth. Also, for example, information related to the given physicallocation may include information related to a location entity categoryassociated with the given physical location such as, for example, arestaurant, a hotel, a retail store, a hair salon, a nail salon, ahardware store, and so forth. A location entity category is anidentifier of a collection of entities associated with a physicallocation that each have one or more properties in common. For example,all restaurants may belong to a location entity category of“restaurants”, while only restaurants that serve Italian cuisine maybelong to a location entity category of “Italian restaurants”.

Index items in the private content index 150 may include index itemsbased on one or more items of the private content 155 that indicate auser has visited or otherwise interacted with a given geographiclocation. For example, an index item in the private content index 150may be based on an item of private content 155 that is a check-in of theuser to a physical location. The check-in may include, for example,information identifying the physical location, a geographic area of thephysical location, and information identifying a date and time of thecheck-in. Such information may be parsed from the check-in and includedin an index item in the private content index 150. In someimplementations the index item in the private content index 150 mayinclude an explicit indication of a user interaction with the physicallocation. In some implementations the content of the index item in theprivate content index may provide an indication of a user interactionwith the physical location. For example, the presence of certain termsand/or identifiers in an index item may be indicative of a userinteraction with the physical location associated with the index item.Also, for example, the presence of certain terms and/or identifiers inan index item may be indicative of a user actually visiting the physicallocation associated with the index item. Also, for example, the presenceof certain terms and/or identifiers in an index item may be indicativeof a user interacting with, but not actually visiting, the physicallocation associated with the index item.

In some implementations additional information related to the physicallocation may optionally be determined from one or more resources thatare in addition to the private content 155 and included in the indexitem in the private content index 150. For example, in someimplementations a location entity category of the physical location maynot be explicitly mentioned in the check-in, but may be determined withreference to a database such as entity database 160. In someimplementations, all or aspects of the entity database 160 may beincluded in the public content index 140. For example, the entityassociated with the physical location may be identified in an entitydatabase 160 and one or more entity categories mapped to the entityassociated with the physical location in the entity database 160 may bedetermined. An identifier of the determined location entity category maybe included in the index item in the private content index 150.

Various items of content of private content 155 may be indicative of auser's interactions with one or more physical locations. For example,the user's e-mails (sent and/or received) may be indicative of theuser's interactions with one or more physical locations. For example, areceived e-mail of the user may be a reservation confirmation at arestaurant for a date and time that is in the past and based on suche-mail it may be determined that the user dined at the restaurant on thedate at the noted time. An indication that the user dined at therestaurant on the date at the noted time may be included in an indexitem in private content index 150. Also, for example, a received e-mailof the user may be a reservation confirmation at a restaurant for a dateand time that is in the future and based on such e-mail it may bedetermined that the user intends to dine at the restaurant on the dateat the noted time. An indication that the user has indicated interest inthe restaurant and intends to interact with the restaurant on the dateat the noted time may be included in an index item in private contentindex 150. Also, for example, a received e-mail of the user may be aconfirmation that the user is attending an event at a venue for a dateand time that is in the past and based on such e-mail it may bedetermined that the user attended the event at the venue on the date atthe noted time. An indication that the user attended the venue on thedate at the noted time may be included in an index item in privatecontent index 150. Also, for example, a received e-mail of the user maybe a confirmation that the user is attending an event at a venue andbased on such e-mail it may be determined that the user has interest inthe venue. An indication that the user has interest in the venue may beincluded in an index item in private content index 150. Also, forexample, one or more sent or received e-mails of the user may mention aphysical location and based on such e-mails it may be determined thatthe user has interest in the physical location. An indication that theuser has interest in the physical location may be included in an indexitem in private content index 150.

Also, for example, the user's social network content may be indicativeof the user's interaction with one or more physical locations. Forexample, a user check-in to a park via the user's social network may beindicative of the user's visit to the park and may include informationrelated to the user's visit to the park (e.g., that the user“checked-in”, the date and/or time of the check-in, and one or moreactivities engaged in at the park (e.g., jogging, tennis, soccer))and/or related generally to the park (e.g., the name of the park,location of the park). An indication that the user visited the parkand/or aspects of information related to the user's visit to the parkand/or related generally to the park may be included in an index item inprivate content index 150. The term “check-in”, as used herein, includesa user-approved and/or user-initiated indication of a visit to aphysical location. For example, a user at a Location A may be provided,via a mobile computing device, with an option to verify that the user isat Location A. For example, the option to verify may be in the form of aprompt provided to the user, such as, for example, “Would you like tocheck-in to your current location?” along with a list of selectableoptions including “Location A”, “Location B”, and “Location C”. The usermay select “Location A” in response to the prompt to check-in toLocation A. Also, for example, a user may choose to automaticallycheck-in to one or more locations visited by the user. For example,location data may indicate that the user is at Location A, and the user,via a mobile computing device, may automatically check-in to Location A.Additional and/or alternative techniques to check-in to a physicallocation may be utilized including those that occur outside of a socialnetwork context.

Also, for example, the user's calendar content may be indicative of theuser's interactions with one or more physical locations. For example, auser's past calendar entry may include reservation information relatedto a stay at a particular hotel on one or more dates. An indication thatthe user stayed at the hotel on the noted dates may be included in anindex item in private content index 150.

Also, for example, the user's interactions with one or more applicationsmay be indicative of the user's interactions with one or more physicallocations. For example, the user may review a physical location on areview website utilizing a web-browser and the user's review may providean indication that the user visited the physical location. An indicationthat the user visited the physical location may be included in an indexitem in private content index 150. Also, for example, the user mayassign a rating to a physical location via a mapping application (e.g.,accessed via a web-browser and/or a stand-alone mapping application) andthe user's rating may provide an indication that the user visited thephysical location. An indication that the user visited the physicallocation may be included in an index item in private content index 150.Also, for example, the user may submit a web-based search query and/or amap-based search query that includes a physical location and/or isspecifically tailored to a physical location and such a search may be aninteraction of the user with the physical location. For example, if analias of the physical location is included in the search query and theentity associated with the physical location is prominent in the searchresults for the search query, the search may be an interaction of theuser with the physical location. An indication that the user interactedwith the physical location may be included in an index item in privatecontent index 150. Also, for example, the user may “star” a physicallocation or otherwise indicate interest in a particular location via amapping application and the user's indication of interest may be aninteraction of the user with the physical location. An indication thatthe user interacted with the physical location may be included in anindex item in private content index 150.

Also, for example, location data of the user may indicate a user'sinteraction with one or more physical locations. For example, locationdata of a user that indicates presence of the user at a restaurant foran hour may provide an indication that the user ate at the restaurant.An indication that the user visited the restaurant location may beincluded in an index item in private content index 150 based on suchlocation data based indication of a visit to the restaurant. Also, forexample, location data of a user that indicates presence of the user ata movie theater for two hours may provide an indication that the userwatched a movie at the movie theater. Location data may be associatedwith, for example, an entity associated with the location data, a dateassociated with the location data, and/or one or more times associatedwith the location data and such information may optionally be includedin a location based indication of a visit and/or an index item based onsuch location based indication of a visit.

In some implementations a user may be presented with the option toverify a visit to a physical location determined via location databefore the visit is associated with the user as private content.Location data may be captured utilizing, for example, GPS, Wi-Fisignals, cellular phone triangulation, RFID, and/or other techniques. Insome implementations, location data may be detected via one or morehardware components of a computing device of the user such as clientdevice 100. For example, location data may be detected via receivingsignals generated by a hardware component of the computing device thatare indicative of the position of the user and/or the position of thecomputing device 100. In some implementations, location data of a usermay be identified on a periodic basis, such as every 30 seconds. In someimplementations, location data may be identified asynchronously, such aswhen the user is detected as changing location by more than 100 feet. Insome implementations, location data may be provided when the user isstationary for a time period and/or has arrived at a waypoint whilemoving. For example, location data may be provided when the user hasstopped for more than five minutes before changing locations.

In some implementations the location data may be based on a directionalquery issued by the user. Directional queries include queries that seekdirections to a physical location. Directional queries may be issued bythe user to one or more mapping applications. For example, the user maysubmit a directional query via client device 100 that seeks directionsto a physical location. One or more mapping applications may be utilizedto return directions to the physical location. The location data basedon a directional query may be utilized to determine a user interactionwith the physical location. For example, it may be determined that if auser issued the directional query to the physical location the useractually traveled to the physical location. In some implementationsadditional data associated with the user may be utilized to determinewhether the user visited the physical location such as check-ins, stars,reviews, or other data discussed herein and/or other data such as webnavigation history associated with the user to see if the user soughtadditional information related to the physical location. In someimplementations directional queries may include active directionalqueries that seek active directions to a location, such as via a deviceequipped with GPS. For example, a user may submit an active directionalquery by providing the address of a geographic location to a navigationdevice equipped with a GPS and may receive active turn-by-turndirections to the geographic location. Location data of such activedirectional queries may also be utilized.

In some implementations at least some of the private content 150 isretrieved via crawling of one or more sources. For example, a source maybe an e-mail provider and a user may have provided permission to enablecrawling of the user's e-mail account. In some implementations at leastsome of the private content 155 is provided by one or more sourceswithout necessitating crawling of the sources. For example, one or moresources may provide the content at pre-defined intervals and/or when newcontent (e.g., not previously stored and/or indexed) is available. Asdiscussed herein, in some implementations a user may have control overwhat content may be crawled and/or what content is provided by one ormore sources. In some implementations, items of crawled and/or providedcontent may be formatted to promote efficient indexing of the items. Forexample, the items may be formatted to comply with a standard for thestorage and/or the display of data such as a standard that specifies howdifferent data elements and metadata coexist in a computer file, astandard that specifies a particular way that information is encoded forstorage in a computer file, a standard that specifies how to convert aspecific type of data to another type of data, and so forth.

Although a separate public content index 140 and private content index150 are illustrated, in some implementations indexing engine 132 maygenerate a single index for indexing private content 155 and publiccontent 145 rather than generating separate indexes 140 and 150.

The search system 130 receives search query 102 submitted by a user viaclient device 100. In some implementations the query processing engine134 may determine if the search query 102 from client device 100 is apersonal locational query indicating a desire for information related toone or more physical locations previously interacted with by the user.In some implementations whether the search query is determined to be apersonal locational query is based on whether the search query containsone or more terms indicative of a personal locational query. Forexample, terms indicative of a personal locational query may includeexplicit terms such as, for example, “my”, “I”, “check-in”, “visits”,“visited”, “last week”, “last month”. Also, for example, termsindicative of a personal locational query may include a category ofterms such as, for example, past tense verbs (“visited”, “stayed”,“ate”, “dined”).

In some implementations whether the search query 102 is determined to bea personal locational query is based on the syntactical arrangement ofone or more terms of the search query 102. For example, certainsyntactical arrangements of terms may be identified as indicative of apersonal locational query. For example, presence of “my” as the firstword of a search query may be indicative of a personal locational query.Also, for example, presence of “my” as the first word of a search queryfollowed by one or more defined entity categories (e.g., “places”,“restaurant”, “hotels”), defined nouns (e.g., “check-ins”, “visits”),and/or one or more terms indicative of a time period (e.g., “lastmonth”, “last week”, “January”) may be indicative of a personallocational query. In some implementations weightings may optionally beassigned to certain syntactical arrangements. For example, presence of“my” as the first word of the search query (irrespective of thearrangement of other terms in the search query) may be associated with afirst weighting less indicative of a personal locational query thanpresence of “my” as the first word of the search query followed by oneor more defined entity categories.

In some implementations whether the search query 102 is determined to bea personal locational query is based on the presence and/or arrangementof one or more locational semantic segments in the search query 102.Each locational semantic segment includes one or more terms of thesearch query that may be mapped a category defined as a categoryindicative of a personal locational query. Locational semantic segmentsmay include one or more of an action type segment, a location entitycategory segment, a geographic area segment, a temporal segment, and abusiness location alias segment.

An action type is indicative of one or more actions of the user thatassociated a previous interaction with a physical location with theuser. Actions of the user that associated a previous interaction with aphysical location with the user may include, for example, a check-in tothe given location by the user, a review of the given location by theuser, a past reservation of the user to the given location, a futurereservation of the user to the given location, receipt of the user forthe given location, location data of the user indicating a visit to thegiven location, and so forth. Terms that may be mapped to an action typesegment include, for example, “check-in”, “checkins”, “visits”,“visited”, “reviews”, “reviewed”, “interactions”, “location data”,“reservations”, and so forth.

A location entity category is an identifier of a collection of entitiesassociated with a physical location that each have one or moreproperties in common. For example, all restaurants may belong to alocation entity category of “restaurants”, while only restaurants thatserve pizza may belong to a location entity category of “pizzerias”.Terms that may be mapped to a location entity category segment mayinclude, for example, “hotel”, “airport”, “park”, “barber shop”, “bookstore”, “mall”, “department store”, and so forth.

A geographic area is an area associated with one or more geographiclocations. Terms that may be mapped to a geographic area segmentinclude, for example, one or more aliases of a city (e.g., “New YorkCity”, “NYC”), a county (e.g., “Orange County”) a region (e.g.,“Southern US”, “nearby”), a neighborhood (e.g., “Wrigleyville”), a state(e.g., “Kentucky”), a country (e.g., “France”), a zip code (e.g.,“90210”), a coordinate (e.g., a latitude/longitude pair), and so forth.

A temporal segment includes one or more terms that are associated withat least one or more determinable dates and/or times. Terms that may bemapped to a temporal segment include, for example, “last week”, “thisyear”, “April”, “Summer”, “breakfast”, “before noon”, “dinner”, and soforth. In search queries that do not explicitly specify a date and/or atime, an explicit date and/or a time may be determined and utilized as atemporal segment. For example, the phrase “last week” may be determinedto be a date range that is from fourteen days to seven days before thecurrent date. Also, for example, the phrase “this year” may bedetermined to include any dates up to and including the current date.Also, for example, “3 hours ago” may be determined to include a timethat is approximately three hours from the current time.

A business location alias is an alias that is associated with a businessentity such as the trade name used by the business entity. In someimplementations a business entity may have multiple business locationaliases. For example, a coffee shop may have a first alias of “A'sBrewed Coffee” and a second alias of “AB Coffee”. Terms that may bemapped to a business location alias include, for example, “Starbucks”,“Hilton”, etc. In some implementations business location aliases may bedetermined via a database such as entity database 160.

In some implementations, the more locational semantic segments that areincluded in a search query, the more likely the search query is to bedetermined to be a personal locational search query. For example asearch query that includes only the locational semantic segments ofaction type and geographic area may be less likely to be determined tobe a personal locational search query than a search query that includesthose locational semantic segments and a local entity categorylocational semantic segment. In some implementations weightings mayoptionally be assigned to certain locational semantic segments. Forexample, presence of an action type segment in a search query may bemore indicative of a personal locational query than the presence of atemporal segment.

In some implementations a database of possible terms may be consulted todetermine if one or more terms of a query is a locational semanticsegment. For example, one or more terms of a query may be identified asa particular locational semantic segment based on a mapping of that termto the particular locational semantic segment in a database such asentity database 160. In some implementations whether one or more termsare identified as a particular locational semantic segment mayadditionally and/or alternatively be based on the format of the one ormore terms. For example, any term formatted as a date (e.g., year;month; month and day; month, day, and year) may be determined to be atemporal locational semantic segment. In some implementations whetherone or more terms are identified as a locational semantic segment mayadditionally and/or alternatively be based on the presence and/orposition of other terms in the search query. For example, whether one ormore terms are identified as a locational semantic segment may be basedon where the terms appear in the query, what terms occur before and/orafter the terms in the query, how many other terms are present in thequery, and/or what terms occur immediately next to the terms in thequery. Additional and/or alternative techniques may be utilized todetermine locational semantic segments and/or to determine whether aquery is a personal locational query.

In some implementations the query processing engine 134 may additionallyand/or alternatively determine one or more search parameters based onthe search query 102. In some implementations the search parametersinclude one or more terms of the search query 102 and/or one or moresynonyms of one or more terms of the search query. In someimplementations the search parameters are based on determined locationalsemantic segments of the search query. In some implementations one ormore items of the private content 155 indicative of user visits tophysical locations may be associated with one or more locationalsemantic segments such as action type, a location entity category, ageographic area, and temporal to enable efficient searching of suchitems based on determined locational semantic segments of the searchquery. For example, an item of private content 155 may includeinformation related to one or more locational semantic segments and/ormay be indexed in private content index 150 based on one or morelocational semantic segments.

In some implementations the search parameters are based on expandedinterpretations of one or more determined locational semantic segmentsof the search query. For example, a determined locational semanticsegment of the search query may be an action type that is a class ofaction types that includes a plurality of members. For example, “visits”may be a class of action types that includes multiple members such as“check-ins”, “reservations”, and “location data indicated visits”. Suchmembers of the class of action types may be included as searchparameters. Also, for example, a determined locational semantic segmentof the search query may be a geographic area that contains additionalgeographic areas. For example, “New York City” contains additionalgeographic areas such as the boroughs of “Manhattan”, “Queens”,“Brooklyn”, etc. Such contained geographic areas may be included assearch parameters. Also, for example, “California” contains additionalgeographic areas such as “Los Angeles”, “San Francisco”, “Oakland”, etc.Such contained cities may be included as search parameters. Also, forexample, a determined locational semantic segment of the search querymay be a geographic area that denotes a number of geographic areas. Forexample, “nearby” may denote additional geographic areas such as thecurrent city of the user, the current zip code of the user, and/or thecurrent county of the user. Also, for example, “within 20 miles” maydenote additional geographic areas such as any geographic areas within20 miles of the user's current location. Such additional geographicareas may be included as search parameters. In some implementations thatdetermine search parameters based on expanded interpretations of one ormore determined locational semantic segments of the search query, theexpanded interpretations may lead to identifying responsive items ofprivate content 155 that may not otherwise be identified based on, forexample, presence of only limited terms in such items and/or in indexitems based on such items. Multiple determined search parameters mayoptionally be combined in a single disjunctive search query.

In some implementations one or more search parameters may specify,either explicitly or based on content thereof, whether index itemsindicative of any user interactions of a user should be considered asresponsive to the search query, or whether only index items indicativeof past visit interactions or index items indicative of non-past-visitinteractions should be considered as responsive. For example, a searchparameter may specify that only index items indicative of past visitinteractions should be considered as responsive based on presence of oneor more terms in a search query such as “visits” and/or based onpresence of one or more action type segments in the search queryindicative of actual visits. Also, for example, a search parameter mayspecify that index items indicative of any past interactions should beconsidered as responsive based on presence of one or more terms in asearch query such as “interactions” and/or based on presence of one ormore action type segments in the search query indicative of both actualpast visit interactions and other non-past-visit interactions.

The ranking engine 136 uses the search parameters to search one or moreindex items of private content index 150 to identify items of privatecontent 155 that are responsive to the search query 102, using, forexample, conventional and/or other information retrieval techniques. Insome implementations the ranking engine 136 may search one or more indexitems of private content index 150 only if the query processing engine134 determines the search query 102 is a personal locational queryand/or another query indicative of a desire to access private contentindex 150. In some implementations the ranking engine 136 may searchonly index items of private content index 150 that are identified,explicitly or based on content thereof, as index items related tophysical locations previously interacted with by the user.

In some implementations the ranking engine 136 may determine which ofone or more index items of private content index 150 to search based onthe user information 103. The user information 103 specifies theidentity of a user submitting the search query 102 and may be utilizedto determine which index items the user is authorized to access. In someimplementations the user information 103 may be provided with and/orincluded in the search query 102. For example, the user information 103may be stored in a cookie that is submitted with and/or included insearch query 102. For example, the user of client device 100 may accessa website that includes a web page for submission of search query 102and the website may use cookies to identify the user. Prior tosubmission of the search query 102, the website may include anotherwebpage that prompts the user to fill out a form with identifyinginformation of the user. Based on the identifying information, a cookiemay be provided to a web browser executing on client device 100 and thecookie may be sent by the web browser to the search system 130 when theuser submits the search query 102. Using the information in the cookie,the search engine 130 may determine which index items of private contentindex 150 are accessible to the user submitting the search query 102.For example, the search system 130 may compare the information in thecookie to access information associated with index items of the privatecontent index 150 and determine that those index items that includeaccess information matching information of the cookie may be accessed bythe user.

The ranking engine 136 optionally calculates scores for the items ofprivate content 155 that are responsive to the query, for example, usingone or more ranking signals. Each signal provides information about theitem itself and/or the relationship between the item and the searchquery. Signals for an item of private content 155 may be determinedbased on the index item referencing the item of private content 155and/or the item of private content 155 itself. One example signal is ameasure of the overall quality of the item. Another example signal is ameasure of the number of search parameters that occur in the item and/orthe number of times the search parameters occur in the item. Additionaland/or alternative signals can also be used. For example, a ranking ofthe user associated with the item may be utilized as a signal, such as auser review associated with a restaurant for an item for auser-indicated interaction with the restaurant. Also, for example, aranking of other users associated with the item may be utilized as asignal, such as reviews of other users for the restaurant. Also, forexample, a date associated with a user's interaction with a physicallocation for an item for a user indicated interaction with the physicallocation may be utilized as a signal. For example, more recentinteractions may be ranked more prominently than less recentinteractions, all other ranking signals being equal. The ranking engine136 then ranks the responsive items of private content 155 using thescores. For example, the responsive items are ranked based on thescores.

The presentation engine 138 uses the items identified and ranked by theranking engine 136 to generate search results 108 that are responsive tothe search query 102 and that include personal search resultsidentifying physical locations previously interacted with by the user.For example, the search results 108 can include a search result for aphysical location visited by the user that includes one or more aliasesof the physical location, a location entity type of the physicallocation, a date and/or a time associated with one or more visits of theuser to the physical location, an action type that associated the userwith a visit to the physical location, a geographic area of the physicallocation, a user's rating of the physical location, other users' ratingof the physical location, a mapping of the physical location, and/orother information that is related to the physical location. The searchresults 108 are transmitted to the client device 100 in a form that maybe provided to the user. For example, the search results 108 may betransmitted as a search results web page to be displayed on a browserrunning on the client device and/or as one or more search resultsconveyed to a user via audio.

In some implementations the presentation engine 138 uses the itemsidentified and ranked by the ranking engine 136 to determine additionalcontent related to the responsive items for inclusion in the personalsearch result. For example, a responsive item of private content 155 mayindicate that the user visited RestaurantA in City1 two months ago.However, the identified item of private content 155 may not include anyadditional information related to RestaurantA. The presentation engine138 may access at least one resource that is in addition to the privatecontent 155 to determine the additional information. For example, thepresentation engine 138 may access entity database 160 to identify anentity associated with RestaurantA in City1. The presentation engine 138may determine additional properties of the entity associated withRestaurantA that are mapped to the entity in the entity database 160such as, for example, and address of RestaurantA, a phone number ofRestaurantA, a website of RestaurantA, ratings associated withRestaurantA, a picture of RestaurantA, a search query that will retrievesearch results particularly focused on RestaurantA, and so forth. Suchadditional content associated with RestaurantA may be included in thepersonal search result. In some implementations the entity database mayinclude unique identifiers associated with one or more entities, such asentities associated with one or more location entity categories. Each ofthe unique entity identifiers may each be mapped to one or moreproperties associated with the entity. For example, a unique identifierfor the entity associated with a particular hotel in a city may beassociated with a name or alias property of “Hotel1”, an addressproperty of “123 Main Street”, and a phone number property of“123-1234-12345”. Additional and/or alternative properties may beassociated with an entity in one or more databases such as entitydatabase 160.

In some implementations ranking engine 136 also searches public contentindex 140 for items of public content 145 that are responsive to searchquery 102. For items of public content 150 identified as responsive tosearch query 102, ranking engine 136 may rank such search results.Presentation engine 138 may use the items of public content 155identified and ranked by the ranking engine 136 to generate publicsearch results for inclusion in search results 108. In someimplementations public search results may be provided for display withthe personal search results. In some implementations the personal searchresults may be distinguished from the public search results. Forexample, the personal search results and public search results may beformatted to visually separate the personal search results from thepublic search results. For example, the personal search results may bepresented in a more prominent position such as at the top of the searchresults. Also, for example, the personal search results may beidentified as personal search results with text accompanying thepersonal search results such as “only you can see these results”, “theseare results for places you have visited”, “these are results that arepersonal to you”, etc.

FIG. 2 is a flow chart illustrating an example method of generating apersonal search result in response to a search query of a user. Otherimplementations may perform the steps in a different order, omit certainsteps, and/or perform different and/or additional steps than thoseillustrated in FIG. 2. For convenience, aspects of FIG. 2 will bedescribed with reference to a system of one or more computers thatperform the process. The system may include, for example, the engines ofthe search system 130 of FIG. 1.

At step 200, a search query of a user is received. For example, thequery “coffee shops I've been to in brussels” may be received. In someimplementations the search system 130 may receive the query.

At step 205, it is determined whether the search query is a personallocational query. A personal locational query is a query indicating adesire for information related to one or more physical locationspreviously interacted with by the user. In some implementations whetherthe search query is determined to be a personal locational query isbased on whether the search query contains one or more terms indicativeof a personal locational query. For example, the query “coffee shopsI've been to in brussels” contains terms such as “I've” and “been to”that are indicative of a personal locational query. In someimplementations whether the search query is determined to be a personallocational query is based on the syntactical arrangement of one or moreterms of the search query. For example, the query “coffee shops I'vebeen to in brussels” contains the term “I've” preceded by an entitylocation category (“coffee shops”) and immediately followed by the terms“been to”. Such an arrangement may be indicative of a personallocational query. In some implementations whether the search query isdetermined to be a personal locational query is based on the presenceand/or arrangement of one or more locational semantic segments in thesearch query. For example, the query “coffee shops I've been to inbrussels” contains the location entity category segment “coffee shops”,the action type segment “been to”, and the geographic area segment“brussels” that are collectively indicative of a personal locationalquery. In some implementations the query processing engine 134 maydetermine whether the search query is determined to be a personallocational query. In some implementations one or more steps of theexample method of FIG. 2 may be dependent on determining the searchquery is a personal locational query. For example, in someimplementations one or more of steps 225, 230, and/or 235 may only beperformed if the query is determined to be a personal locational query.In some other implementations step 205 may be omitted.

At step 210 at least one search parameter is determined based on thesearch query. In some implementations the search parameter includes oneor more terms of the search query. For example, for the search query“coffee shops I've been to in brussels” the terms “coffee shops” and“brussels” may be utilized as search terms. In some implementations thesearch parameter is based on locational semantic segment determinedbased on the query as described, for example, in the example method ofFIG. 3. In some implementations the query processing engine 134 maydetermine the at least one search parameter.

At step 215 user information of the user is received. In someimplementations user information is provided with the search queryreceived at step 200. For example, the user information may be appendedto the search query and/or provided with the search query, but separatefrom the search query (e.g., via a cookie transmitted with the searchquery). The user information specifies the identity of a user submittingthe search query and may be utilized to determine which index items theuser is authorized to access. In some implementations the search system130 may receive the user information.

At step 220 private content of the user is accessed based on the userinformation received at step 215. For example, the user information maybe utilized to determine which index items in the private content index150 the user submitting the search query may access. For example, onlythose index items in the private content index 150 that are associatedwith access information that is determined to match the user informationmay be accessed. Also, for example, the user information mayadditionally and/or alternatively be utilized to determine which itemsof the private content 155 the user submitting the search query mayaccess either directly and/or via the private content index 150. In someimplementations the ranking engine 136 may access private content of theuser based on the user information received at step 215.

At step 225, private content that is responsive to the search parameterdetermined at step 210 is determined. For example, the search parametermay be utilized to search one or more index items of private contentindex 150 to identify items of private content 155 that are responsiveto the search parameters using, for example, conventional and/or otherinformation retrieval techniques. For example, for the query “coffeeshops I've been to in brussels”, a previous check-in of a user to CoffeeShop A in Brussels may be determined based on an index item of privatecontent index 150. In some implementations the ranking engine 136 maysearch one or more index items of private content index 150 only if thesearch query 102 is determined to be a personal locational query at step205 and/or another query indicative of a desire to access privatecontent index 150. In some implementations only index items of privatecontent index 150 that are identified, explicitly or based on contentthereof, as index items related to physical locations previously visitedand/or otherwise interacted with by the user may be searched. In someimplementations the ranking engine 136 may determine private contentthat is responsive to the search parameter.

At step 230, a physical location previously interacted with by the useris determined based on the responsive content determined at step 225. Insome implementations the physical location may be determined based on aresponsive index item of private content index 150. For example, thephysical location may be determined directly from the responsive indexitem and/or via one or more items of private content 155 associated withthe responsive item of private content index 150. For example, the query“coffee shops I've been to in brussels” a previous check-in of a user toCoffee Shop A in Brussels may be utilized to determine the physicallocation Coffee Shop A in Brussels. In some implementations informationassociated with the physical location may additionally be determined atstep 230 based on the responsive content determined at step 225. Forexample, the index item of private content index 150 and/or the one ormore items of private content 155 associated with the responsive indexitem may be utilized to determine information associated with thephysical location such as a user's interaction with the physicallocation and/or information related to the given physical location thatis not specific to the user's visit to the given physical location. Forexample, the use's check-in to Coffee Shop A in Brussels may beassociated with a particular date that the user checked-in. In someimplementations the ranking engine 136 may determine the physicallocation previously interacted with by the user based on the responsivecontent.

At step 235 a personal search result is generated based on theresponsive content. The physical location determined at step 230 and/orother information associated with the physical location may be utilizedto generate a personal search result that identifies the physicallocation previously interacted with by the user. Also, for example, asdescribed in the method of FIG. 5, additional content related to thephysical location may be determined from one or more resource that isadditional to the private content index 150 and/or the private content155 such as the entity database 160, the public content index 140,and/or public content 145. The personal search result generated mayinclude, for example, one or more aliases of the physical location, alocation entity type of the physical location, a date and/or a timeassociated with one or more interactions of the user with the physicallocation, an action type that associated the user with an interactionwith the physical location, a geographic area of the physical location,a user's rating of the physical location, other users' rating of thephysical location, a mapping of the physical location, and/or otherinformation that is related to the physical location. The personalsearch result may be provided to the client device 100 in a form thatmay be provided to the user. In some implementations the presentationengine 138 generates the personal search result.

FIG. 3 is a flow chart illustrating an example method of determininglocational semantic segments of a search query of a user and determiningsearch parameters based on the locational semantic segments. Otherimplementations may perform the steps in a different order, omit certainsteps, and/or perform different and/or additional steps than thoseillustrated in FIG. 3. For convenience, aspects of FIG. 3 will bedescribed with reference to a system of one or more computers thatperform the process. The system may include, for example, the queryprocessing engine 134 of the search system 130 of FIG. 1. Also, forconvenience, aspects of FIG. 3 will be described with reference to theexample search query and example determined locational semantic segmentsfor the search query of FIG. 4.

At step 300, a search query of a user is received. For example, thequery “restaurants I went to in philadelphia” 402 of FIG. 4 may bereceived. In some implementations the search system 130 may receive thequery. Step 300 may share one or more aspects in common with step 200 ofFIG. 2.

At step 305 a first locational semantic segment is determined based onthe search query. For example, the query “restaurants I went to inphiladelphia” 402 contains the action type segment 104 “went to” that isindicative of a personal locational query.

At step 310 a second locational semantic segment is determined based onthe search query. For example, the query “restaurants I went to inphiladelphia” 402 contains the location entity category segment 406“restaurants” that is indicative of a personal locational query. It isnoted that the query “restaurants I went to in philadelphia” 402 alsocontains the location geographic area segment 407 “philadelphia” that isindicative of a personal locational query.

At step 315 one or more first search parameters are determined based onthe first locational semantic segment determined at step 305. In someimplementations the first search parameters may include the term “wentto” from the search query 402. In some implementations the first searchparameters are additionally and/or alternatively based on expandedinterpretations of the first locational semantic segment of the searchquery 402. For example, “went to” may be a class of action types thatincludes multiple members such as “check-ins”, “reservations”, and“location data indicated visits”. Such members of the class of actiontypes may be included as first search parameters.

At step 320 one or more second search parameters are determined based onthe second locational semantic segment determined at step 310. In someimplementations the second search parameters may include the term“restaurants” from the search query 402. In some implementations thesecond search parameters are additionally and/or alternatively based onexpanded interpretations of the second locational semantic segment ofthe search query 402. For example, “restaurants” may be a class oflocation entity categories that includes multiple members such as“pizzerias”, “diners”, and “fine-dining establishments”. Such members ofthe class of action types may be included as second search parameters.

The search parameters determined at steps 315 and 320 may be utilized todetermine responsive personal content and generate a search result basedon such content as described, for example, with respect to steps 225 and235 of the method of FIG. 2.

FIG. 5 is a flow chart illustrating an example method of determiningadditional content related to a physical location interacted with by auser and generating a personal search result that includes theadditional content. For convenience, aspects of FIG. 5 will be describedwith reference to a system of one or more computers that perform theprocess. The system may include, for example, the presentation engine138 of the search system 130 of FIG. 1.

At step 500, content is received that identifies a physical locationinteracted with by a user. In some embodiments the content received maybe responsive private content determined at step 225 of the method ofFIG. 2 and/or the physical location determined at step 230 of the methodof FIG. 2.

At step 505, additional content related to the physical location isdetermined from an additional resource. Additional content related tothe physical location may be determined from one or more resources thatare additional to the private content index 150 and/or the privatecontent 155 such as entity database 160. For example, the contentidentifying the physical location interacted with by the user mayinclude the alias of the physical location and a city of the physicallocation. An entity associated with the physical location may beidentified in an entity database 160 based on a mapping between theentity and the alias of the physical location and the city of thephysical location. Additional information may be determined based onfurther mappings of the entity in the entity database 160. For example,one or more location entity categories mapped to the entity in theentity database 160 may be determined and/or contact information (e.g.,phone number, address, website) mapped to the entity in the entitydatabase 160 may be determined. Additional information may be determinedfrom public content 145 related to the entity, available through thepublic content index 140, such as content from web pages related to theentity. For example, determined additional information may include menusavailable on the web page of a restaurant entity.

At step 510, a personal search result is generated that includes theadditional content. For example, the personal search result may includean indication of a location entity category determined at step 505and/or contact information determined at step 505.

FIG. 6 is a flow chart illustrating an example method of indexingprivate content. For convenience, aspects of FIG. 6 will be describedwith reference to a system of one or more computers that perform theprocess. The system may include, for example, the indexing engine 132 ofthe search system 130 of FIG. 1.

At step 600, an item of private content is received that indicates auser interaction with a physical location. In some embodiments the itemof private content may be received via crawling of one or more sources.In some implementations the item of private content may be provided byone or more sources without necessitating crawling of the sources. As anexample, a location data indicated visit may be provided that indicatesa visit to Restaurant A by a user on Mar. 16, 2013.

At step 605, an index item for the item of private content is generated.Continuing the example of step 600, the index item may include anindicator of a “visit”, an indicator of “Restaurant A”, and an indicatorof the date “Mar. 16, 2013”.

At step 610 access to the private content and the index item isrestricted. For example, access may be allowed only for the userutilizing access information associated with the item of private contentand/or the index item as described herein. Also, for example, access maybe allowed to the user and one or more additional users indicated by theuser.

FIG. 7 illustrates an example graphical user interface for displayingpersonal search results in response to an example personal locationalquery. In FIG. 7 the query “restaurants I went to in Philadelphia” 702is submitted to a search system, through the graphical user interface,and personal search results 710, 720, 730, 740, and 750 that areresponsive to the query 702 are generated by the search system andpresented in the user interface. The personal search results areidentified as personal search results by the text above the personalsearch results indicating they are “Places you've visited”. The personalsearch results are each for a restaurant that was previously visited bythe user. The personal search results in FIG. 7 may be presented basedon a ranking as described herein.

Personal search result 710 includes an alias “Restaurant 1” of arestaurant visited by the user, provides a property of the restaurant“Greek” indicating the restaurant is a Greek restaurant, and includes asymbol of a fork and knife that is indicative of the personal searchresult 710 being for a restaurant. Personal search results 730 and 740provided similar information related to the respective physicallocations indicated in those search results. Personal search result 750provides an interface element that may be selected by the user to enableadditional personal search results to be displayed.

Personal search result 727 has been expanded by the user by selection ofexpansion interface element 727. It is noted that other personal searchresults 710, 730, and 740 likewise include expansion interface elementsenabling expansion of those personal search results. Personal searchresult 720 also includes an alias “Restaurant 2” of a restaurant visitedby the user, provides a property of the restaurant “Italian” indicatingthe restaurant is an Italian restaurant, and includes a symbol of a forkand knife that is indicative of the personal search result being for arestaurant. The expanded portion of the search result includes a map 721providing an indication of the location of Restaurant 2 and an interfaceelement “Get directions” that may be selected by the user to receivedirections to Restaurant 2. Contact information 722 for Restaurant isalso provided that includes the address and phone number of Restaurant2. The action type of the user that is indicative of the action of theuser that associated the previous visit to the physical location withthe user is also indicated by text 723 that indicates the user “checkedin here on Oct. 5, 2012”. A rating of the user 724 for Restaurant 2 isalso illustrated as is a rating of other users 725 for Restaurant 2.Selectable text 726 may be selected by the user to see search resultsthat are particularly focused on Restaurant 2 as described herein.

As discussed herein, one or more aspects of the personal search result720 may be based on private content of the user such as, for example,the indication that Restaurant 2 is a location previously visited by theuser, the text 723, and/or the rating of the user 724. Moreover, asdiscussed herein, one or more aspects of the personal search result 720may optionally be determined based on a resource that is in addition toprivate content of the user such as, for example, the contactinformation 722, the rating of other users 725, and or the search queryassociated with the selectable text 726. Other methods of presentingpersonal search results are possible.

FIG. 8 illustrates another example graphical user interface fordisplaying personal search results in response to another examplepersonal locational query. In FIG. 8 the query “places I visited in LA”802 is submitted to a search system, through the graphical userinterface, and personal search results 810, 820, 830, 840, and 850 thatare responsive to the query 802 are generated by the search system andpresented in the user interface. The personal search results areidentified as personal search results by the text above the personalsearch results indicating they are “Places you've visited”. The personalsearch results represent visits to a variety of entity locationcategories that were previously visited by the user since the searchquery 802 includes “places” and does not specify a particular type ofplace such as a “restaurant”. The personal search results in FIG. 8 maybe presented based on a ranking as described herein.

Personal search result 810 includes an alias 811 of “Hotel 1” of a hotelvisited by the user, provides a property of the restaurant 812 of“Luxury hotel” indicating the hotel is a luxury hotel, and includes asymbol 813 of a bed that is indicative of the personal search result 810being for a hotel. Personal search result 810 includes an interfaceelement 814 that enables the personal search result 810 to be expandedby the user by selection of the interface element. Personal searchresults 820, 830, and 840 provide similar information related to therespective physical locations indicated in those search results. Inparticular, personal search result 820 provides information related to arestaurant previously visited by the user, personal search result 830provides information related to a store previously visited by the user,and personal search result 840 provides information related to anotherrestaurant previously visited by the user. Personal search result 850provides an interface element that may be selected by the user to enableadditional personal search results to be displayed. In someimplementations one or more of the personal search results 810, 820,830, 840 may be expanded without interaction by the user. For example,in some implementations the top search result 810 may be pre-expandedupon initial presentation of the search results. In some implementationswhether a search result is expanded may be based on, for example, theranking of the search result and/or a screen size of the client devicerendering the user interface displaying the search results.

FIG. 9 illustrates an example graphical user interface for displayingpersonal search results and public search results in response to anexample personal locational query. In FIG. 9 the query “restaurants Iwent to in Philadelphia” 902 is submitted to a search system, throughthe graphical user interface, and personal search results 910, 920, 930,940, and 950 that are responsive to the query 902 are generated by thesearch system and presented in the user interface. The personal searchresults 910, 920, 930, 940, and 950 are similar to personal searchresults 710, 720, 730, 740, and 750 of FIG. 7. Public search results 960are also provided below the personal search results and are visuallydistinguishable from the personal search results.

FIG. 10 is a block diagram of an example computer system 1010. Computersystem 1010 typically includes at least one processor 1014 whichcommunicates with a number of peripheral devices via bus subsystem 1012.These peripheral devices may include a storage subsystem 1024,including, for example, a memory subsystem 1025 and a file storagesubsystem 1026, user interface input devices 1022, user interface outputdevices 1020, and a network interface subsystem 1016. The input andoutput devices allow user interaction with computer system 1010. Networkinterface subsystem 1016 provides an interface to outside networks andis coupled to corresponding interface devices in other computer systems.

User interface input devices 1022 may include a keyboard, pointingdevices such as a mouse, trackball, touchpad, or graphics tablet, ascanner, a touchscreen incorporated into the display, audio inputdevices such as voice recognition systems, microphones, and/or othertypes of input devices. In general, use of the term “input device” isintended to include all possible types of devices and ways to inputinformation into computer system 1010 or onto a communication network.

User interface output devices 1020 may include a display subsystem, aprinter, a fax machine, or non-visual displays such as audio outputdevices. The display subsystem may include a cathode ray tube (CRT), aflat-panel device such as a liquid crystal display (LCD), a projectiondevice, or some other mechanism for creating a visible image. Thedisplay subsystem may also provide non-visual display such as via audiooutput devices. In general, use of the term “output device” is intendedto include all possible types of devices and ways to output informationfrom computer system 1010 to the user or to another machine or computersystem.

Storage subsystem 1024 stores programming and data constructs thatprovide the functionality of some or all of the modules describedherein. For example, the storage subsystem 1024 may include the logic toperform one or more methods discussed herein with respect to searchsystem 130 such as, for example, generating a personal search resultidentifying a physical location previously interacted with by a user.

These software modules are generally executed by processor 1014 alone orin combination with other processors. Memory 1025 used in the storagesubsystem can include a number of memories including a main randomaccess memory (RAM) 1030 for storage of instructions and data duringprogram execution and a read only memory (ROM) 1032 in which fixedinstructions are stored. A file storage subsystem 1024 can providepersistent storage for program and data files, and may include a harddisk drive, a floppy disk drive along with associated removable media, aCD-ROM drive, an optical drive, or removable media cartridges. Themodules implementing the functionality of certain implementations may bestored by file storage subsystem 1024 in the storage subsystem 1024, orin other machines accessible by the processor(s) 1014.

Bus subsystem 1012 provides a mechanism for letting the variouscomponents and subsystems of computer system 1010 communicate with eachother as intended. Although bus subsystem 1012 is shown schematically asa single bus, alternative implementations of the bus subsystem may usemultiple busses.

Computer system 1010 can be of varying types including a workstation,server, computing cluster, blade server, server farm, or any other dataprocessing system or computing device. Due to the ever-changing natureof computers and networks, the description of computer system 1010depicted in FIG. 10 is intended only as a specific example for purposesof illustrating some implementations. Many other configurations ofcomputer system 1010 are possible having more or fewer components thanthe computer system depicted in FIG. 10.

While several inventive implementations have been described andillustrated herein, those of ordinary skill in the art will readilyenvision a variety of other means and/or structures for performing thefunction and/or obtaining the results and/or one or more of theadvantages described herein, and each of such variations and/ormodifications is deemed to be within the scope of the inventiveimplementations described herein. More generally, those skilled in theart will readily appreciate that all parameters, dimensions, materials,and configurations described herein are meant to be exemplary and thatthe actual parameters, dimensions, materials, and/or configurations willdepend upon the specific application or applications for which theinventive teachings is/are used. Those skilled in the art willrecognize, or be able to ascertain using no more than routineexperimentation, many equivalents to the specific inventiveimplementations described herein. It is, therefore, to be understoodthat the foregoing implementations are presented by way of example onlyand that, within the scope of the appended claims and equivalentsthereto, inventive implementations may be practiced otherwise than asspecifically described and claimed. Inventive implementations of thepresent disclosure are directed to each individual feature, system,article, material, kit, and/or method described herein. In addition, anycombination of two or more such features, systems, articles, materials,kits, and/or methods, if such features, systems, articles, materials,kits, and/or methods are not mutually inconsistent, is included withinthe inventive scope of the present disclosure.

All definitions, as defined and used herein, should be understood tocontrol over vocabulary definitions, definitions in documentsincorporated by reference, and/or ordinary meanings of the definedterms.

The indefinite articles “a” and “an,” as used herein in thespecification and in the claims, unless clearly indicated to thecontrary, should be understood to mean “at least one.”

The phrase “and/or,” as used herein in the specification and in theclaims, should be understood to mean “either or both” of the elements soconjoined, i.e., elements that are conjunctively present in some casesand disjunctively present in other cases. Multiple elements listed with“and/or” should be construed in the same fashion, i.e., “one or more” ofthe elements so conjoined. Other elements may optionally be presentother than the elements specifically identified by the “and/or” clause,whether related or unrelated to those elements specifically identified.Thus, as a non-limiting example, a reference to “A and/or B”, when usedin conjunction with open-ended language such as “comprising” can refer,in one implementation, to A only (optionally including elements otherthan B); in another implementation, to B only (optionally includingelements other than A); in yet another implementation, to both A and B(optionally including other elements); etc.

As used herein in the specification and in the claims, “or” should beunderstood to have the same meaning as “and/or” as defined above. Forexample, when separating items in a list, “or” or “and/or” shall beinterpreted as being inclusive, i.e., the inclusion of at least one, butalso including more than one, of a number or list of elements, and,optionally, additional unlisted items. Only terms clearly indicated tothe contrary, such as “only one of” or “exactly one of,” or, when usedin the claims, “consisting of,” will refer to the inclusion of exactlyone element of a number or list of elements. In general, the term “or”as used herein shall only be interpreted as indicating exclusivealternatives (i.e. “one or the other but not both”) when preceded byterms of exclusivity, such as “either,” “one of,” “only one of,” or“exactly one of.” “Consisting essentially of,” when used in the claims,shall have its ordinary meaning as used in the field of patent law.

As used herein in the specification and in the claims, the phrase “atleast one,” in reference to a list of one or more elements, should beunderstood to mean at least one element selected from any one or more ofthe elements in the list of elements, but not necessarily including atleast one of each and every element specifically listed within the listof elements and not excluding any combinations of elements in the listof elements. This definition also allows that elements may optionally bepresent other than the elements specifically identified within the listof elements to which the phrase “at least one” refers, whether relatedor unrelated to those elements specifically identified. Thus, as anon-limiting example, “at least one of A and B” (or, equivalently, “atleast one of A or B,” or, equivalently “at least one of A and/or B”) canrefer, in one implementation, to at least one, optionally including morethan one, A, with no B present (and optionally including elements otherthan B); in another implementation, to at least one, optionallyincluding more than one, B, with no A present (and optionally includingelements other than A); in yet another implementation, to at least one,optionally including more than one, A, and at least one, optionallyincluding more than one, B (and optionally including other elements);etc.

It should also be understood that, unless clearly indicated to thecontrary, in any methods claimed herein that include more than one stepor act, the order of the steps or acts of the method is not necessarilylimited to the order in which the steps or acts of the method arerecited.

What is claimed is:
 1. A method implemented by one or more processors,the method comprising: generating an entry in a personal contentrepository, the personal content repository including private contentthat is accessible to a given user and non-accessible to a plurality ofadditional users that lack authorization to access the personal contentrepository, wherein the entry identifies a physical location and a dateof interaction of the user with the physical location, and whereingenerating the entry comprises: generating the entry based on locationdata, of the user, that corresponds to the physical location and thedate of interaction, the location data generated based on output fromone or more hardware components of a computing device of the user andindicative of a position of the computing device, or generating theentry based on a received email of the user that identifies the physicallocation and the date of interaction; receiving a search query submittedby the user subsequent to generating the entry, the search querysubmitted through a user interface for searching both private and publiccontent; determining that the search query is a personal locationalquery indicating a desire for information related to one or morephysical locations interacted with by the user; determining that thegenerated entry of the personal content repository is responsive to thesearch query based on the entry matching at least one search parameterof the search query; based on determining that the search query is thepersonal locational query and based on determining that the entry isresponsive to the search query: generating a personal search resultbased on the entry, wherein generating the personal search resultcomprises including, in the personal search result: an identifier of thephysical location based on the entry identifying the physical location,and a temporal indication that identifies the date of interaction of theuser with the physical location based on the entry identifying the dateof interaction of the user; obtaining public search results based on thesearch query and using a public content repository; and in response tothe search query submitted through the user interface for searching bothprivate and public content: providing the personal search result withthe public search results, for display in a graphical user interfacethat displays the personal search result and the public search results,and that visually distinguishes the personal search result from thepublic search results.
 2. The method of claim 1, wherein generating theentry is based on the location data, of the user, that corresponds tothe physical location and the date of interaction.
 3. The method ofclaim 2, wherein generating the personal search result furthercomprises: determining additional content related to the physicallocation from at least one resource that is additional to the personalcontent repository, the additional content not being included in thepersonal content repository; and including the additional content in thepersonal search result.
 4. The method of claim 3, wherein the additionalcontent is a rating, of other users, of the physical location.
 5. Themethod of claim 3, wherein the additional content is a picture of thephysical location.
 6. The method of claim 1, wherein determining thesearch query is the personal locational query is based on matching atleast one personal locational query term to one or more terms of thesearch query.
 7. The method of claim 1, wherein determining that thesearch query is the personal locational query is based on determiningpresence of one or more personal locational semantic segments in thesearch query, each of the personal locational semantic segments beingbased on one or more terms of the search query.
 8. The method of claim7, wherein the personal locational semantic segments include at leastone of a location entity category segment, an action type segment, areference geographic area segment, and a temporal segment.
 9. A system,comprising: a personal content repository including private content thatis accessible to a given user and non-accessible to a plurality ofadditional users that lack authorization to access the personal contentrepository, wherein the personal content repository includes an entrythat identifies a physical location and a date of interaction of theuser with the physical location, and wherein the entry is generatedbased on data, of the user, that corresponds to or includes the physicallocation and the date of interaction; memory storing instructions; oneor more processors operable to execute the instructions stored in thememory to: receive a search query submitted by the user through a userinterface for searching both private and public content; determine thatthe search query is a personal locational query indicating a desire forinformation related to one or more physical locations interacted with bythe user; determine that the entry of the personal content repository isresponsive to the search query based on the entry matching at least onesearch parameter of the search query; based on determining that thesearch query is the personal locational query and based on determiningthat the entry is responsive to the search query: generate a personalsearch result based on the entry, wherein in executing the instructionsto generate the personal search result one or more of the processors areto generate the personal search result by including, in the personalsearch result: an identifier of the physical location based on the entryidentifying the physical location, and a temporal indication thatidentifies the date of interaction of the user with the physicallocation based on the entry identifying the date of interaction of theuser; obtain public search results based on the search query and using apublic content repository; and in response to the search query submittedthrough the user interface for searching both private and publiccontent: provide the personal search result with the public searchresults, for display in a graphical user interface that displays thepersonal search result and the public search results, and that visuallydistinguishes the personal search result from the public search results.10. The system of claim 9, wherein the entry is generated based onlocation data, of the user, that corresponds to the physical locationand the date of interaction.
 11. The system of claim 10, wherein inexecuting the instructions to generate the personal search result one ormore of the processors are to: determine additional content related tothe physical location from at least one resource that is additional tothe personal content repository, the additional content not beingincluded in the personal content repository; and include the additionalcontent in the personal search result.
 12. The system of claim 11,wherein the additional content is a rating, of other users, of thephysical location.
 13. The system of claim 11, wherein the additionalcontent is a picture of the physical location.
 14. The system of claim9, wherein in executing the instructions to determine the search queryis the personal locational query one or more of the processors are todetermine the search query is the personal locational query based onmatching at least one personal locational query term to one or moreterms of the search query.
 15. The system of claim 9, wherein inexecuting the instructions to determine the search query is the personallocational query one or more of the processors are to determine thesearch query is the personal locational query based on determiningpresence of one or more personal locational semantic segments in thesearch query, each of the personal locational semantic segments beingbased on one or more terms of the search query.
 16. The system of claim15, wherein the personal locational semantic segments include at leastone of a location entity category segment, an action type segment, areference geographic area segment, and a temporal segment.
 17. One ormore non-transitory computer-readable media comprising instructionsthat, when executed by one or more processors, cause the one or moreprocessors to perform a method comprising: generating an entry in apersonal content repository, the personal content repository includingprivate content that is accessible to a given user and non-accessible toa plurality of additional users that lack authorization to access thepersonal content repository, wherein the entry identifies a physicallocation and a date of interaction of the user with the physicallocation, and wherein generating the entry comprises: generating theentry based on location data, of the user, that corresponds to thephysical location and the date of interaction, the location datagenerated based on output from one or more hardware components of acomputing device of the user and indicative of a position of thecomputing device, or generating the entry based on a received email ofthe user that identifies the physical location and the date ofinteraction; receiving a search query submitted by the user subsequentto generating the entry, the search query submitted through a userinterface for searching both private and public content; determiningthat the search query is a personal locational query indicating a desirefor information related to one or more physical locations interactedwith by the user; determining that the generated entry of the personalcontent repository is responsive to the search query based on the entrymatching at least one search parameter of the search query; based ondetermining that the search query is the personal locational query andbased on determining that the entry is responsive to the search query:generating a personal search result based on the entry, whereingenerating the personal search result comprises including, in thepersonal search result: an identifier of the physical location based onthe entry identifying the physical location, and a temporal indicationthat identifies the date of interaction of the user with the physicallocation based on the entry identifying the date of interaction of theuser; obtaining public search results based on the search query andusing a public content repository; and in response to the search querysubmitted through the user interface for searching both private andpublic content: providing the personal search result with the publicsearch results, for display in a graphical user interface that displaysthe personal search result and the public search results, and thatvisually distinguishes the personal search result from the public searchresults.